In a case when a bug is fixed in an information processing system, or when a new function is added to the information processing system, for example, a tester or the like who is in charge of testing the information processing system performs testing to verify that such a fix or added app is not affecting other apps. For this reason, the tester performs similar testing every time the information processing system is modified. Such testing is called “recursion testing” or “regression testing”.
Now, an example of a testing technique according to the related art will be described with reference to FIG. 23. In the example illustrated in FIG. 23, an information processing system 9 has a Web server 13, an AP (application) server 14, and a DB (Data Base) server 15. The information processing system 9 is connected with a test terminal 11 via a network 31.
In the example illustrated in FIG. 23, when carrying out testing, a tester H1 performs a predetermined operation on the test terminal 11. For example, the tester H1 opens a Web browser, and inputs information defined in a test specification on the Web browser.
The test terminal 11 transmits an HTTP (HyperText Transfer Protocol) request or the like to the Web server 13, in response to the operation performed by the tester H1. Upon receiving the HTTP request or the like, the Web server 13 transmits/receives a request or a response to/from the AP server 14. In the meantime, the AP server 14 transmits/receivers a request or a response to/from the DB server 15. In the following, a request and a response will be sometimes collectively referred to as “message”.
Then, for example, the test terminal 11 receives a response from the Web server 13, and outputs information corresponding to the received response on the Web browser. Then, the tester H1 checks the information outputted on the Web browser to determine pass/fail of testing.
In this way, the tester H1 performs testing on the information processing system 9. When performing recursion testing, the tester H1 performs the same operation as previously performed, and performs the same check as previously performed. While FIG. 23 illustrates a case in which testing is conducted by a single tester, generally, such testing is conducted by a plurality of testers.
Recently, with a view to reducing the number of man-hours required for recursion testing, an automatic testing technique has been proposed which carries out a part of recursion test automatically. Such an automatic testing technique will be described below with reference to the example illustrated in FIG. 23. It is assumed here that the automatic testing technique is applied to the test terminal 11. In such a case, the test terminal 11 generates, for example, information containing an operation procedure performed by the tester H1, and a response received from the Web server 13 (hereinafter, referred to as “test data”).
Then, when performing recursion testing, for example, the tester H1 does a read operation that reads the test data after initializing various kinds of database held on the DB sever 15. When the read operation is performed, the test terminal 11 executes the operation procedure contained in the test data, and transmits a request to the Web server 13. Then, the test terminal 11 receives a response from the Web server 13, and determines pass/fail of the testing by determining whether or not the received response matches the response contained in the test data. In this way, by using the automatic testing technique, the tester H1 performs recursion testing without performing a predetermined operation procedure.
For instance, Japanese Laid-open Patent Publication No. 11-184900 and Japanese Laid-open Patent Publication No. 2007-264810 are known as in relation to the automatic testing technique.